package reflect;

import java.lang.reflect.Method;

public class ReflectDemo7 {
    public static void main(String[] args) throws Exception {
//        Person p = new Person();
//        p.hehe();
        Class cls = Class.forName("reflect.Person");
        Object obj = cls.newInstance();
//        Method m = cls.getMethod("hehe");//getMethod():仅能获取本类的public方法，以及继承的public方法
        Method m = cls.getDeclaredMethod("hehe");//getDeclaredMethod():获取本类的所有方法，包括private方法，不能获取继承的方法
        m.setAccessible(true);//暴力访问,强制打开访问权限
        m.invoke(obj);
        m.setAccessible( false);//关闭访问权限
    }
}
